<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>瀑布流布局</title>
    <link rel="stylesheet" href="./css/common.css" />
    <style>
      .columns {
        column-width: 320px;
        column-gap: 15px;
        width: 90%;
        max-width: 1100px;
        margin: 50px auto;
      }
      .columns figure {
        display: inline-block;
        box-shadow: 0 1px 2px rgba(34, 25, 25, 0.4);
        column-break-inside: avoid;
        border-radius: 8px;
      }
      .columns figure img {
        width: 100%;
        height: auto;
        margin-bottom: 15px;
        border-radius: 8px;
      }
    </style>
</head>
<body>
  <nav>
    <h1>瀑布流布局</h1>
  </nav>
  <div class="columns">
    <figure>
      <img src="https://source.unsplash.com/random?city" alt="" />
    </figure>
    <figure>
      <img src="https://source.unsplash.com/random?night" alt="" />
    </figure>
    <figure>
      <img src="https://source.unsplash.com/random?developer" alt="" />
    </figure>
    <figure>
      <img src="https://source.unsplash.com/random?building" alt="" />
    </figure>
    <figure>
      <img src="https://source.unsplash.com/random?water" alt="" />
    </figure>
    <figure>
      <img src="https://source.unsplash.com/random?coding" alt="" />
    </figure>
    <figure>
      <img src="https://source.unsplash.com/random?stars" alt="" />
    </figure>
    <figure>
      <img src="https://source.unsplash.com/random?forest" alt="" />
    </figure>
    <figure>
      <img src="https://source.unsplash.com/random?girls" alt="" />
    </figure>
    <figure>
      <img src="https://source.unsplash.com/random?working" alt="" />
    </figure>
  </div>
</body>
</html>
<!--实现原理：-->
<!--实现这个布局，首选我们需要把所有的内容先包裹在一个div元素里面，然后给这个元素column-width和column-gap属性。-->
<!--然后，为了防止任何元素被分割到两个列之间，将column-break-inside: avoid添加到各个元素中。-->
<!--神奇的效果就完美实现了，零 JavaScript。-->
